Formal UML Support for the semi-automatic Application of object-oriented Refactorings
نویسندگان
چکیده
With the recent success of refactoring, UML tool vendors seek ways to support programmers in applying a (sequence of) refactoring(s). The problem with such tools is that the UML metamodel – on which their repository is based – is inadequate to maintain the consistency between the model and the code while one of them gets refactored. Therefore, we propose a set of minimal extensions to the UML metamodel, which is sufficient to reason about refactoring for all common OO languages. For instance, by specifying preand postconditions in OCL, we are able to compose primitive refactorings, verify preservation of program behavior, and trigger refactorings based on code smells. This way, we provide future MDA tools with the ability to improve existing UML designs, yet keeping them in synch with the underlying code base.
منابع مشابه
Mapping Sequence diagram in Fuzzy UML to Fuzzy Petri Net
This ability in fuzzy UML, practically leaves the customers and market’s need without response in this important and vital area. Here, the available sequence diagrams in fuzzy UML will map into fuzzy Petri net. However, the formal models ability will be added to the Semi-formal fuzzy UML. This formalization will add the automatic processing ability to the Semi-formal fuzzy UML. Further more, t...
متن کاملAvailability evaluation of Software architecture of object oriented Style using coloured Petri nets
Software architecture is one of the most fundamental products in the process of software development in the areas of behavioral or non- behavioral features like availability or transformability change. There are different ways to evaluate software architecture one of which is the creation of application model. An executable model of software architecture is an official description of architectu...
متن کاملValidating Objected-Oriented Prototype of Real-Time Systems with Timed Automata
Object-oriented development of real-time systems is becoming more and more prevalent. Unified Modeling Language (UML) is a standardized notation for describing object-oriented software design. While using UML to specify real-time systems, the formal validation of certain timing constraints becomes critical for the success of object-oriented development of real-time systems. Current development ...
متن کاملHeuristics on the Definition of UML Refinement Patterns
In this article we present a strategy to formalize frequently occurring forms of refinement that take place in UML model construction. Such strategy consists in recognizing a set of well founded refinement structures in a formal language which are then immersed into a UML-based development, giving origin to a set of UML refinement patterns. Apart from providing semi-formal evidence on the prese...
متن کاملSemantic Links and Co-Evolution in Object-Oriented Software Development
This research focuses on the problem of the semantic linking and co-evolution of the different design diagrams and models of an object-oriented software application. The blueprint of an object-oriented software application consists mainly of models drawn in a modeling language. The state-of-the-art modeling language in object-oriented software development is the Unified Modeling Language (UML)....
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003